1 Problem

Raport służy do analizy zmian różnorodności możliwych do zbudowania zestawów LEGO na przestrzeni ostatnich 80 lat.

1.1 Źródło danych

Do analizy wykorzystano zbiór danych udostępniony przez prowadzącego na podstawie danych z Rebrickable - platformy do dzielenia się, przeglądania i zarządzania swoimi zestawami klocków LEGO. Zbiór zawiera informacje o oficjalnych i MOC’owych zestawach LEGO oraz tworzących go częściach.

1.2 Zbiór danych

Zbiór składa się z 12 plików SCV powiązanych ze sobą w następujacy sposób.

Na potrzeby analizy zostały one połączone w trzy niezależne dataframy przedstawione w kolejnych sekcjach.

1.2.1 Zestawy

set_num name year num_parts theme theme_parent
001-1 Gears 1965 43 NA NA
0011-2 Town Mini-Figures 1979 12 Classic Town Town
0011-3 Castle 2 for 1 Bonus Offer 1987 0 Lion Knights Castle
0012-1 Space Mini-Figures 1979 12 Supplemental Space
0013-1 Space Mini-Figures 1979 12 Supplemental Space
0014-1 Space Mini-Figures 1979 2 Supplemental Space

1.2.2 Minifigurki w zestawach

name fig_num num_parts quantity inv_set_num
Emma - Lavender Top, Magenta Skirt fig-001549 4 1 3931-1
Danny Longlegs / Corporal Steel fig-000764 4 1 6942-1
Coca-Cola Defender 2 fig-000555 4 1 4444-1
Minnie Mouse with Dark Pink with White Spots Dress and Bow (CMF) fig-000574 5 1 71012-11
Coast Guard, Blue Jacket with Zipper and ID Badge, Blue Cap, Blue Sunglasses fig-000842 4 1 6435-1
Coast Guard, Woman, Blue Jacket with Zipper and ID Badge. Black Hair fig-008641 4 1 6435-1

1.2.3 Części w zestawach

part_num part_name category_name part_material is_spare color_name color_rgb color_is_trans quantity inv_set_num
48379c01 Large Buildable Figures Large Figure Torso and Legs, Promo Figure Base with Feet Plastic 0 Dark Bluish Gray 6C6E68 1 1 7922-1
48395 Minifig Accessories Sports Snowboard from McDonald’s Promotional Set Plastic 0 Light Gray 9BA19D 1 1 7922-1
stickerupn0077 Stickers Sticker Sheet for Set 7922-1 Plastic 0 [No Color/Any Color] 05131D 1 1 7922-1
upn0342 Minifig Accessories Sports Promo Paddle from McDonald’s Sports Sets Plastic 0 Black 05131D 1 1 7922-1
upn0350 Minifigs Sports Promo Figure Head Torso Assembly McDonald’s Set 6 (7922) Plastic 0 Orange FE8A18 1 1 7922-1
2343 Minifig Accessories Equipment Goblet / Glass Plastic 0 Trans-Clear FCFCFC 0 1 3931-1

1.3 Podsumowanie danych

1.3.1 Zestawy

set_num name year num_parts theme theme_parent
Length:23501 Length:23501 Min. :1949 Min. : 0.0 Length:23501 Length:23501
Class :character Class :character 1st Qu.:2000 1st Qu.: 3.0 Class :character Class :character
Mode :character Mode :character Median :2012 Median : 33.0 Mode :character Mode :character
NA NA Mean :2006 Mean : 167.4 NA NA
NA NA 3rd Qu.:2018 3rd Qu.: 144.0 NA NA
NA NA Max. :2024 Max. :11695.0 NA NA

1.3.2 Minifigurki

name fig_num num_parts quantity inv_set_num
Length:20858 Length:20858 Min. : 0.000 Min. : 1.000 Length:20858
Class :character Class :character 1st Qu.: 4.000 1st Qu.: 1.000 Class :character
Mode :character Mode :character Median : 4.000 Median : 1.000 Mode :character
NA NA Mean : 4.813 Mean : 1.062 NA
NA NA 3rd Qu.: 5.000 3rd Qu.: 1.000 NA
NA NA Max. :143.000 Max. :100.000 NA

1.3.3 Klocki

part_num part_name category_name part_material is_spare color_name color_rgb
Length:1180987 Length:1180987 Length:1180987 Length:1180987 Min. :0.00000 Length:1180987 Length:1180987
Class :character Class :character Class :character Class :character 1st Qu.:0.00000 Class :character Class :character
Mode :character Mode :character Mode :character Mode :character Median :0.00000 Mode :character Mode :character
NA NA NA NA Mean :0.06509 NA NA
NA NA NA NA 3rd Qu.:0.00000 NA NA
NA NA NA NA Max. :1.00000 NA NA
color_is_trans quantity inv_set_num
Min. :0.0000 Min. : 1.00 Length:1180987
1st Qu.:1.0000 1st Qu.: 1.00 Class :character
Median :1.0000 Median : 2.00 Mode :character
Mean :0.9425 Mean : 3.37 NA
3rd Qu.:1.0000 3rd Qu.: 4.00 NA
Max. :1.0000 Max. :3064.00 NA

2 Analiza

2.1 Podstawowa analiza

2.1.1 Liczebność zestawów

Wykres prezentuje liczbę zestawów powstałych w kolejnych latach.

Widzimy na nim że w latach 1945-1995 były to niewielkie ilości. Natomiast od roku 2000 nastąpił intensywny przyrost dodawanych zestawów LEGO który cały utrzymuje się do dziś.

2.1.2 Liczba klocków w zestawach

Zbiór klocków tworzy 32396 różnych zestawów.

Pierwszy wykres reprezentuje rozproszenie zestawów o określonej ilości elementów. Na wykresie widać, że większość zestawów nie przekracza zawartości 250 klocków.

Drugi wykres przedstawia rozkład gęstości zestawów o zadanej liczbie elementów. Ze względu na dużą ilość potencjalnych wartości dane zostały zawężone do zestawów których ilość klocków wystąpiła conajmniej 100 razy.

Wnioski Na wykresie widać że najczęściej występują małe zestawy, nieprzekraczające 15 klocków.

2.1.3 Liczba minifigurek w zestawach

Pierwszy wykres reprezentuje rozproszenie zestawów o określonej ilości minifigurek Na wykresie widać, że większość zestawów nie zawiera więcej niż 8 fugurek.

Drugi wykres przedstawia rozkład gęstości zestawów o zadanej liczbie minifigurek. Wyraźnie widać że dominują zestawy z jedną figurką. Natomiast duża ich część zawiera nawet do czterech minifigur.

2.1.4 Liczba części w minifigurkach

Zbiór figurek składa się z 13764 rekordów.

Po lewej stronie widzimy rozproszenie minifigurek o określonej ilości elementów. Na wykresie zaobserwować można, że zdecydowana większość skupia się na początku osi X - w skład figurki wchodzi mniej niż 10 części. Za outlayerów można uznać rekordy przekraczajace tą wartość.

Na wykresie po prawej stronie możemy dokładniej przyjrzeć się rozkładowi gęstość ilości część składających się na figurki. Wyraźnie widać że dominują minifigurki czteroelementowe. Za nimi drugą wielkość stanowią pięcioelementowe.

2.1.5 Materiały

Wartość użytego materiału do produkcji klocków nie rozkłada się w żaden sposób. Wyrażnie widać że czynnikiem dominującym w produkcji jest plastik.

2.1.6 Kolory

W klockach LEGO zdefiniowano 181 kolorów. Większość klocków produkowana jest w kolorze czarnym i białym. W klockach dominuje jednak spora różnorodność kolorystyczna.

2.2 Szczegółowa analiza atrybutów

2.2.1 Tematy

W zbiorze zestawów pojawiają się braki w wartościach kolumn: theme, parent_theme.

Z uwagi na to musimy je odfiltorwać, redukując ilość danych z 23501 do 12640 (54% danych jest pełnych).

Na animacji możemy zaobserwować, że w latach 1950-1970 dominowały zestawy o tematyce System a od roku 2000 nieprzerwanie zdecydowaną większość stanowią zestawy Gear.

2.2.2 Rozkład klocków według motywów

Mimo, że poprzednia sekcja wskazała na system oraz gear jako najczęściej występujce tematycznie zestawy to powyższy wykres nie wskazuje aby dominowały pod względem ilości klocków.

Najbardziej wyróżnia się tematyka Star Wars która od 2015 dominuje pod względem liczebności klocków budujących zestawy.

Wnioski Popularność zestawów nie idzie w parze z ich wielkością.

Dodatkowo powyższy boxplot cały czas przesunięty jest znacznie w stronę 0. Spowodowane jest to pewną rzadkością w liczebności elementów w motywach. Wynikać to może najpewniej z sezonowości tematów jakie są wypuszczane przez firmę i okresowym zainteresowaniem nimi przez ludzi.

Motywy klocków w dużej części związane są z popularnymi książkami, filmami czy serialami. Wzrosty tematów na wykresach pokrywają sie w natrualny sposob czasowo z datami nowych premier. Wynika stąd, że klocki LEGO podążają za trendami kulturowymi.

2.2.3 Rozkład klocków według kolorów

Animacja pokazuje, rozkład kolorów wśród produkowanych klocków w poszczególnych latach. Ze względu na dużą ilość dostępnych kolorów (181 kolorów) zostały wybrane tylko te powyżej 200 klocków.

Widać, że od roku 2000 nastąpił znaczący wzrost używanych kolorów co pokrywa się ze wzrostem liczby produkowanych zestawów z sekcji ‘Liczebność zestawów’.

2.2.4 Analiza korelacji między zmiennymi

Poniżej znajduje się tabela zawierające współczynniki korelacji pearsona dla zestawów i tworzących je klocków.

category_name part_material is_spare color_name color_rgb color_is_trans inventory_id theme theme_parent decade
category_name 1.00 0.02 0.09 -0.08 -0.08 -0.04 -0.01 0.05 0.01 0.11
part_material 0.02 1.00 0.01 0.03 0.03 -0.01 -0.04 0.00 0.01 -0.01
is_spare 0.09 0.01 1.00 0.04 0.03 -0.16 0.03 0.01 -0.05 0.12
color_name -0.08 0.03 0.04 1.00 0.88 -0.28 0.00 -0.05 0.01 -0.08
color_rgb -0.08 0.03 0.03 0.88 1.00 -0.16 0.01 -0.04 0.00 -0.05
color_is_trans -0.04 -0.01 -0.16 -0.28 -0.16 1.00 0.02 0.00 0.01 -0.02
inventory_id -0.01 -0.04 0.03 0.00 0.01 0.02 1.00 0.04 -0.14 0.31
theme 0.05 0.00 0.01 -0.05 -0.04 0.00 0.04 1.00 -0.06 0.14
theme_parent 0.01 0.01 -0.05 0.01 0.00 0.01 -0.14 -0.06 1.00 -0.39
decade 0.11 -0.01 0.12 -0.08 -0.05 -0.02 0.31 0.14 -0.39 1.00

Na podstawie danych trudno dojrzeć silniejsze związki (z wartością współczynnika korelacji pearsona powyżej 0.5, bądź poniżej -0.5) pomiędzy którymikolwiek nieoczywistymi wartościami.

Widoczna jest jedynie zależność:

  • color_name oraz color_rgb: 0.88

3 Predykcja produkcji klocka

W naszej analizie przygotujemy 4 modele do przewidywania dekady produkcji klocka, na tych samych danych.

3.1 Dane

Dane do uczenia dzielimy na 3 zbiory:

  • treningowy - na którym odbędzie się uczenie (75% całego zbioru danych)
  • testowy - na którym będzie sprawdzana wydajność modelu (25% całego zbioru danych)
  • kontrolny - określony poprzez powtórną krosswalidacje

3.2 Linear Regression

## Linear Regression 
## 
## 332404 samples
##     11 predictor
## 
## Pre-processing: centered (11), scaled (11) 
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 166202, 166202, 166202, 166202, 166201, 166203, ... 
## Resampling results across tuning parameters:
## 
##   intercept  RMSE          Rsquared  MAE         
##   FALSE      2.004169e+03  1         2.004169e+03
##    TRUE      1.128673e-09  1         1.128654e-09
## 
## RMSE was used to select the optimal model using the smallest value.
## The final value used for the model was intercept = TRUE.

3.3 RIDGE

## Ridge Regression 
## 
## 332404 samples
##     11 predictor
## 
## Pre-processing: centered (11), scaled (11) 
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 166202, 166202, 166203, 166201, 166203, 166201, ... 
## Resampling results across tuning parameters:
## 
##   lambda     RMSE          Rsquared   MAE         
##   0.0000000  1.211535e-11  1.0000000  9.385350e-12
##   0.2631579  1.860252e+00  0.9967425  1.501140e+00
##   0.5263158  3.380620e+00  0.9917727  2.725060e+00
##   0.7894737  4.651552e+00  0.9872624  3.746991e+00
##   1.0526316  5.731139e+00  0.9834738  4.614479e+00
##   1.3157895  6.660051e+00  0.9803294  5.360595e+00
##   1.5789474  7.467979e+00  0.9777071  6.009347e+00
##   1.8421053  8.177208e+00  0.9754991  6.578709e+00
##   2.1052632  8.804833e+00  0.9736203  7.082474e+00
##   2.3684211  9.364198e+00  0.9720052  7.531387e+00
##   2.6315789  9.865881e+00  0.9706036  7.933967e+00
##   2.8947368  1.031838e+01  0.9693767  8.297045e+00
##   3.1578947  1.072859e+01  0.9682943  8.626174e+00
##   3.4210526  1.110218e+01  0.9673328  8.925906e+00
##   3.6842105  1.144384e+01  0.9664732  9.200012e+00
##   3.9473684  1.175751e+01  0.9657002  9.451644e+00
##   4.2105263  1.204650e+01  0.9650016  9.683460e+00
##   4.4736842  1.231359e+01  0.9643670  9.897711e+00
##   4.7368421  1.256120e+01  0.9637883  1.009632e+01
##   5.0000000  1.279138e+01  0.9632583  1.028095e+01
## 
## RMSE was used to select the optimal model using the smallest value.
## The final value used for the model was lambda = 0.

3.4 LASSO

## The lasso 
## 
## 332404 samples
##      9 predictor
## 
## Pre-processing: centered (9), scaled (9) 
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 166203, 166201, 166202, 166202, 166203, 166201, ... 
## Resampling results across tuning parameters:
## 
##   fraction    RMSE      Rsquared   MAE     
##   0.00000000  2.723849        NaN  2.171990
##   0.05263158  2.664815  0.1500519  2.111360
##   0.10526316  2.614110  0.1763430  2.069160
##   0.15789474  2.568845  0.2007261  2.030195
##   0.21052632  2.528762  0.2101168  1.992892
##   0.26315789  2.494111  0.2141952  1.959603
##   0.31578947  2.465121  0.2161166  1.929600
##   0.36842105  2.441929  0.2194018  1.903174
##   0.42105263  2.422481  0.2286319  1.881675
##   0.47368421  2.405594  0.2362056  1.862792
##   0.52631579  2.391216  0.2416570  1.846067
##   0.57894737  2.379239  0.2462800  1.832375
##   0.63157895  2.369408  0.2496883  1.820660
##   0.68421053  2.361756  0.2519919  1.811079
##   0.73684211  2.356307  0.2534376  1.803666
##   0.78947368  2.352854  0.2545131  1.799032
##   0.84210526  2.351030  0.2552233  1.796449
##   0.89473684  2.349872  0.2558512  1.794837
##   0.94736842  2.349183  0.2562139  1.793652
##   1.00000000  2.348972  0.2563208  1.792926
## 
## RMSE was used to select the optimal model using the smallest value.
## The final value used for the model was fraction = 1.

3.5 Porównanie

## 
## Call:
## summary.resamples(object = models)
## 
## Models: lm, ridge, lasso 
## Number of resamples: 10 
## 
## MAE 
##               Min.      1st Qu.       Median         Mean      3rd Qu.
## lm    6.283148e-10 6.912554e-10 8.256736e-10 1.128654e-09 1.722941e-09
## ridge 1.818989e-12 4.026745e-12 7.728547e-12 9.385350e-12 1.432024e-11
## lasso 1.789059e+00 1.791057e+00 1.792923e+00 1.792926e+00 1.794797e+00
##               Max. NA's
## lm    2.031484e-09    0
## ridge 2.335249e-11    0
## lasso 1.796774e+00    0
## 
## RMSE 
##               Min.      1st Qu.       Median         Mean      3rd Qu.
## lm    6.283248e-10 6.912661e-10 8.256872e-10 1.128673e-09 1.722966e-09
## ridge 1.818989e-12 4.488663e-12 1.025589e-11 1.211535e-11 1.881707e-11
## lasso 2.344629e+00 2.345819e+00 2.348968e+00 2.348972e+00 2.352102e+00
##               Max. NA's
## lm    2.031517e-09    0
## ridge 2.979116e-11    0
## lasso 2.353309e+00    0
## 
## Rsquared 
##            Min.   1st Qu.    Median      Mean   3rd Qu.      Max. NA's
## lm    1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000    0
## ridge 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000    0
## lasso 0.2542657 0.2552093 0.2563155 0.2563208 0.2574335 0.2584049    0